1. Field of the Invention
The present invention relates generally to a non-volatile semiconductor memory device which is electrically programmable and erasable. More particularly, the present invention relates to a non-volatile semiconductor memory device having memory cells in which analog data can be stored in and read from.
2. Description of the Related Art
Conventional semiconductor memory device have a plurality of memory cells arranged in an array. Digital data represented by a logic value of "0" or "1" is stored in or read from each of the memory cells.
An analog signal, like an audio signal, changes with the passage of time. Hence, to store or read such an analog signal in or from a conventional semiconductor memory device, an analog/digital converter (A/D converter) and a digital/analog converter (D/A converter) are needed. The A/D converter samples the audio signal at predetermined time intervals, and converts analog data (or analog amounts) corresponding to the sampled audio signal into digital data consisting of a plurality of bits (e.g., 8 bits). The memory device stores the digital data from the A/D converter into memory cells. One memory cell is needed for each bit of each sample. For example, if the A/D converter produces 8-bits of digital data per sample, then eight memory cells would be required for each sample. The (D/A converter) converts the stored digital data to analog data to reproduce the original audio signal. Since a plurality of memory cells are used to store single piece of analog data, the memory device would need to have a very large number of memory cells in order to store an audio signal, particularly if the audio signal is over a long period of time. Further, since the conventional semiconductor memory device requires an A/D converter and a D/A converter, the memory device inevitably becomes larger and its circuit structure becomes complicated.
Memory cells within known non-volatile semiconductor memory device sometimes include a transistor having a floating gate. The threshold value of the transistor varies by removing charges from the floating gate or accumulating charges into the floating gate, so that data represented by "1" or "0" can be electrically written or erased. By utilizing a change in the amount of charges accumulated in or discharged from the floating gate in each memory cell, analog data can be directly and electrically written in or erased from each transistor. When a voltage corresponding to analog data is applied to the transistor at the time of data writing, for example, the amount of charges accumulated in the floating gate changes and the threshold value of the transistor also varies in accordance with this change. The change in threshold value is reflected on the drain current of the transistor at the time of data reading, and the analog data is obtained using the drain current. This approach permits analog data to be stored in one memory cell, so that a compact memory device which does not require many memory cells to store a vast amount of analog data can be utilized. A problem with this approach is that the memory cells of such conventional memory devices tend to have different electrical characteristics. Namely, when the same write voltage is applied to the individual memory cells, the amounts of charges accumulated in the respective floating gates may differ from one another. Hence, the conventional non-volatile memory device cannot store analog data with high precision.
Examined Japanese Patent Publication Nos. 57-1077 and 57-27559 disclose a writing circuit for analog memories. The writing circuit adjusts the write voltage to be applied to the individual memory cells in accordance with the electric characteristics of the memory cells. The writing circuit comprises a first circuit for generating analog data to be written in the memory cells, a second circuit for generating a train of write pulses whose envelope becomes a saw-tooth wave, and a comparator. In writing analog data, the source of a memory cell having a floating gate is opened, and the second circuit applies a write pulse having a peak value according to the analog data generated by the first circuit to the drain with the control gate grounded. After the application of the write pulse, the writing circuit reads analog data from the memory cell, with the source grounded and the control gate and drain supplied with a negative supply voltage. The comparator compares the read analog data and analog data to be written. When both values do not coincide with each other, the second circuit applies a new write pulse having a higher peak value to the associated memory cell. When such writing and reading of analog data are repeated several times and the analog data read from the memory cell coincides with the analog data to be written, the second circuit stops applying a new write pulse to the memory cell. However, if the writing and reading of analog data is repeated several times, it will take an undesirably large amount of time to write analog data into the memory device. Therefore, it is necessary to set the sampling time for analog data longer than the writing time when using the writing circuit with analog memory. The longer sampling times, however, are unsatisfactory when storing analog data like an audio signal that changes continuously.
One known approach to shorten the sampling time for analog data is to use a writing circuit having a sample-and-hold circuit. Such sample-and-hold circuits hold individual pieces of sampled analog data and simultaneously write the pieces of analog data held into the memory device. By providing the sample-and-hold circuit, the apparent writing time is reduced, but at the price of an increased occupying area of the sample-and-hold circuit in the memory device. The increased occupying area in effect reduces the number of memory cells within the memory device, thereby inevitably shortening the recording time of analog data in the memory device. The circuitry required to simultaneously write analog data held by the sample-and-hold circuit becomes complex. Furthermore, the circuitry required to alternately switch the writing and reading operations in order to repeat the writing and reading in the writing circuit becomes complicated and also enlarges the memory device.
Thus, there is a need for a non-volatile semiconductor memory device that is not only programmable and erasable, but also capable of writing analog data very rapidly and with high precision.